﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using QLLUONG.DAL;
using QLLUONG.DTO;
namespace QLLUONG.BLL
{
    class NhanVienBLL
    {
        DataClasses1DataContext DB = new DataClasses1DataContext();
        public List<NHANVIEN> Show()
        {
            return DB.NHANVIENs.ToList();
        }
        public bool Insert(NhanVien NV)
        {
            NHANVIEN NVIEN = new NHANVIEN();
            try
            {
                NVIEN.MANV = NV.Msnv;
                NVIEN.HONV = NV.Honv;
                NVIEN.TENNV = NV.Tennv;
                NVIEN.SYLL = NV.Syll;
                NVIEN.NGHACH = NV.Ngach;
                NVIEN.BAC = NV.Bac;
                NVIEN.HSL = NV.Hsl;
                DB.NHANVIENs.InsertOnSubmit(NVIEN);
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }
        }
        public bool Delete(String Manv)
        {
            NHANVIEN NVIEN = DB.NHANVIENs.Where(nv => nv.MANV == Manv).FirstOrDefault();
            try
            {
                DB.NHANVIENs.DeleteOnSubmit(NVIEN);
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }
        }
        public bool Update(NhanVien NV)
        {
            NHANVIEN NVIEN = DB.NHANVIENs.Where(nv => nv.MANV == NV.Msnv).FirstOrDefault();
            try
            {
                NVIEN.HONV = NV.Honv;
                NVIEN.TENNV = NV.Tennv;
                NVIEN.SYLL = NV.Syll;
                NVIEN.NGHACH = NV.Ngach;
                NVIEN.BAC = NV.Bac;
                NVIEN.HSL = NV.Hsl;
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }
        }
        public List<NHANVIEN> Search(String Msnv)
        {
            var List = from NHANVIEN in DB.NHANVIENs
                       where NHANVIEN.MANV.Contains(Msnv) || NHANVIEN.HONV.Contains(Msnv) || NHANVIEN.TENNV.Contains(Msnv) || NHANVIEN.NGHACH.Contains(Msnv)
                       select NHANVIEN;

            return List.ToList();
        }
        public String TenCV(String MSNV)
        {
            NHANVIEN NVIEN = DB.NHANVIENs.Where(nv => nv.MANV == MSNV).FirstOrDefault();
            return NVIEN.NGHACH;
        }
        public bool CheckNhanVien(String MSNV)
        {
            var List = from NHANVIEN in DB.NHANVIENs
                       where NHANVIEN.MANV.Contains(MSNV)
                       select NHANVIEN;
            if (List.Any())
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        public bool CheckNghach(String TenCV)
        {
            var List = from NHANVIEN in DB.NHANVIENs
                       where NHANVIEN.NGHACH.Contains(TenCV)
                       select NHANVIEN;
            if (List.Any())
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}
